The present invention relates to data processing used for a full-color printing related equipment such as a printer, a video printer, a scanner or the like, an image processor for forming computer graphic images or a display device such as a monitor. More specifically, the invention relates to a color conversion device and a color conversion method for performing color conversion from image data in the form of a first set of three color data of red, green and blue, or cyan, magenta and yellow, to a second set of three color data of red, green and blue, or cyan, magenta and yellow.
Color conversion in printing is an indispensable technology for compensating deterioration of image quality due to color mixing property due to the fact that the ink is not of a pure color, or the non-linearity (in the hue) of the image-printing, and to output a printed image with a high color reproducibility. Also, in a display device such as a monitor or the like, color conversion is performed in order to output (display) an image having desired color reproducibility in accordance with conditions under which the device is used or the like when an inputted color signal is to be displayed.
Conventionally, two methods have been available for the foregoing color conversion: a table conversion method and a matrix calculation method.
A representative example of the table conversion method is a three-dimensional look-up table method, in which the image data represented by red, green and blue (hereinafter referred to as R, G, and B) are input, to output an image data of R, G, and B stored in advance in a memory, such as a ROM, or complementary color data of yellow, cyan and magenta (hereinafter referred to as Y, M, and C). Because any desired conversion characteristics can be achieved, color conversion with a good color reproducibility can by performed.
However, in a simple structure for storing data for each combination of image data, a large-capacity memory of about 400 Mbit must be used. For example, even in the case of a compression method for memory capacity disclosed in Japanese Patent Kokai Publication No. S63-227181, memory capacity is about 5 Mbit. Therefore, a problem inherent in the table conversion system is that since a large-capacity memory is necessary for each conversion characteristic, it is difficult to implement the method by means of an LS1, and it is also impossible to deal with changes in the condition under which the conversion is carried out.
On the other hand, in the case of the matrix calculation method, for example, for obtaining printing data of Y, M and C from image data of R, G and B, the following formula (11) is used as a basic calculation formula.                               [                                                    Y                                                                    M                                                                    C                                              ]                =                              (            Aij            )                    ⁡                      [                                                            R                                                                              G                                                                              B                                                      ]                                              (        11        )            
Here, Aij represents coefficients, with i=1 to 3, and j=1 to 3.
However, by the simple linear calculation of the formula (11), it is impossible to provide a good conversion characteristic because of a non-linearity of an image-printing or the like.
A method has been proposed for providing a conversion characteristic to improve the foregoing characteristic. This method is disclosed in Japanese Patent Application Kokoku Publication H2-30226, directed to a color correction calculation device, and employs a matrix calculation formula (12) below.                               [                                                    Y                                                                    M                                                                    C                                              ]                =                              (            Dij            )                    ⁡                      [                                                            R                                                                              G                                                                              B                                                                                                  R                    *                    G                                                                                                                    G                    *                    B                                                                                                                    B                    *                    R                                                                                                                    R                    *                    R                                                                                                                    G                    *                    G                                                                                                                    B                    *                    B                                                                                                N                                                      ]                                              (        12        )            
Here, N is a constant, i=1 to 3, and j=1 to 10.
In the foregoing formula (12), since image data having a mixture of an achromatic component and a color component is directly used, mutual interference occur in computation. In other words, if one of the coefficients is changed, influence is given to the components or hues other than the target component or hue (the component or hue for which the coefficient is changed). Consequently, a good conversion characteristic cannot be realized.
A color conversion method disclosed in Japanese Patent Application Kokai Publication H7-170404 is a proposed solution to this problem. FIG. 20 is a block circuit diagram showing the color conversion method for conversion of image data of R, G and B into printing data of C, M and Y, disclosed in Japanese Patent Application Kokai Publication H7-170404. In the drawing, reference numeral 100 denotes a complement calculator; 101, a minimum and maximum calculator; 102, a hue data calculator; 103, a polynomial calculator; 104, a matrix calculator; 105, a coefficient generator; and 106, a synthesizer.
Next, the operation will be described. The complement calculator 100 receives image data R, G and B, and outputs complementary color data Ci, Mi and Yi which have been obtained by determining 1""s complements.
The determination of 1""s complement of an input data can be achieved by subtracting the value of the input data of n bits (n being an integer) from (2nxe2x88x921). For example, in the case of 8-bit data, the value of the input data is deducted from xe2x80x9c255xe2x80x9d.
The minimum and maximum calculator 101 outputs a maximum value xcex2 and a minimum value xcex1 of this complementary color data and an identification code S for indicating, among the six hue data, data which are zero.
The hue data calculator 102 receives the complementary color data Ci, Mi and Yi and the maximum and minimum values xcex2 and xcex1, and outputs six hue data r, g, b, y, m and c which are obtained by executing the following subtraction:
r=xcex2xe2x88x92Ci,
g=xcex2xe2x88x92Mi,
b=xcex2xe2x88x92Yi,
y=Yixe2x88x92xcex1,
m=Mixe2x88x92xcex1, and
c=Cixe2x88x92xcex1.
Here, among the six hue data, at least two assume the value zero.
The polynomial calculator 103 receives the hue data and the identification code S, selects, from r, g and b, two data Q1 and Q2 which are not zero and, from y, m and c, two data P1 and P2 which are not zero. Based on these data, the polynomial calculator 103 computes polynomial data:
T1=P1*P2;
T3=Q1*Q2,
T2=T1/(P1+P2), and
T4=T3/(Q1+Q2),
and then outputs the results of the calculation.
It is noted that asterisks xe2x80x9c*xe2x80x9d are sometimes used in this specification to indicate multiplication.
The coefficient generator 105 generates calculation coefficients U(Fij) and fixed coefficients U(Eij) for the polynomial data based on information of the identification code S. The matrix calculator 104 receives the hue data y, m and c, the polynomial data T1 to T4 and the coefficients U, and outputs the result of the following formula (13) as color ink data C1, M1 and Y1.                               [                                                    C1                                                                    M1                                                                    Y1                                              ]                =                                            (              Eij              )                        ⁡                          [                                                                    c                                                                                        m                                                                                        y                                                              ]                                +                                    (              Fij              )                        ⁡                          [                                                                                          c                      *                      m                                                                                                                                  m                      *                      y                                                                                                                                  y                      *                      c                                                                                                                                  r                      *                      g                                                                                                                                  g                      *                      b                                                                                                                                  b                      *                      r                                                                                                                                  c                      *                                              m                        /                                                  (                                                      c                            +                            m                                                    )                                                                                                                                                                                m                      *                                              y                        /                                                  (                                                      m                            +                            y                                                    )                                                                                                                                                                                y                      *                                              c                        /                                                  (                                                      y                            +                            c                                                    )                                                                                                                                                                                r                      *                                              g                        /                                                  (                                                      r                            +                            g                                                    )                                                                                                                                                                                g                      *                                              b                        /                                                  (                                                      g                            +                            b                                                    )                                                                                                                                                                                b                      *                                              r                        /                                                  (                                                      b                            +                            r                                                    )                                                                                                                                ]                                                          (        13        )            
The synthesizer 106 adds together the color ink data C1, M1 and Y1 and data xcex1 which is the achromatic data, and outputs printing data C, M and Y. Accordingly, the following formula (14) is used for obtaining printing data.                               [                                                    C                                                                    M                                                                    Y                                              ]                =                                            (              Eij              )                        ⁡                          [                                                                    c                                                                                        m                                                                                        y                                                              ]                                +                                    (              Fij              )                        ⁡                          [                                                                                          c                      *                      m                                                                                                                                  m                      *                      y                                                                                                                                  y                      *                      c                                                                                                                                  r                      *                      g                                                                                                                                  g                      *                      b                                                                                                                                  b                      *                      r                                                                                                                                  c                      *                                              m                        /                                                  (                                                      c                            +                            m                                                    )                                                                                                                                                                                m                      *                                              y                        /                                                  (                                                      m                            +                            y                                                    )                                                                                                                                                                                y                      *                                              c                        /                                                  (                                                      y                            +                            c                                                    )                                                                                                                                                                                r                      *                                              g                        /                                                  (                                                      r                            +                            g                                                    )                                                                                                                                                                                g                      *                                              b                        /                                                  (                                                      g                            +                            b                                                    )                                                                                                                                                                                b                      *                                              r                        /                                                  (                                                      b                            +                            r                                                    )                                                                                                                                ]                                +                      [                                                            α                                                                              α                                                                              α                                                      ]                                              (        14        )            
The formula (14) shows a general formula for a group of pixels.
FIG. 21A to FIG. 21F, which are schematic diagrams, show relations between six hues of red (R), green (G), blue (B), yellow (Y), cyan (C) and magenta (M), and hue data y, m, c, r, g and b. As shown, each hue data relates to three hues (i.e., extends over the range of three hues). For instance the hue data c relates to the hues g, c and b.
FIG. 22A to FIG. 22F, which are schematic diagrams, show relations between the six hues and product terms y*m, r*g, c*y, g*b, m*c and b*r.
As shown, each of the six product terms y*m, m*c, c*y, r*g, g*b and b*r in the formula (14) relates to only one hue among the six hues of red, blue, green, yellow, cyan and magenta. That is, only y*m is an effective product term for red; m*c for blue; c*y for green; r*g for yellow; g*b for cyan; and b*r for magenta.
Also, each of the six fraction terms y*m/(y+m), m*c/(m+c), c*y/(c+y), r*g/(r+g), g*b/(g+b) and b*r/(b+r) in the formula (14) relates to only one hue among the six hues.
As apparent from the foregoing, according to the color conversion method shown in FIG. 20, by changing coefficients for the product terms and the fraction terms regarding the specific hue, only the target hue can be adjusted without influencing other hues.
Each of the foregoing product terms is determined by a second-order computation for chroma, and each of the fraction terms is determined by a first-order computation for chroma. Thus, by using both of the product terms and the fraction terms, the non-linearity of an image-printing for chroma can be adjusted.
However, this color conversion method cannot satisfy a certain desire. That is, depending on the user""s preference, if an area in a color space occupied by specific hues is to be expanded or reduced, e.g., specifically, if expansion or reduction in an area of red in a color space including magenta, red and yellow is desired, the conventional color conversion method of the matrix computation type could not meet such a desire.
The problems of the conventional color conversion method or color conversion device are summarized as follows. Where the color conversion device is of a table conversion method employing a memory such as ROM, a large-capacity memory is required, and a conversion characteristic cannot be flexibly changed. Where the color conversion device is of a type using a matrix calculation method, although it is possible to change only a target hue, it is not possible to vary the color in the inter-hue areas between adjacent ones of the six hues of red, blue, green, yellow, cyan and magenta, and good conversion characteristics cannot be realized throughout the entire color space. Moreover, with the matrix conversion method shown in FIG. 20, when the image data input to color conversion device has a non-linear gray scale characteristics due to gamma correction processing, or highlight compression, the effect of the color conversion is influenced according to the level of the input image data.
The present invention was made to solve the foregoing problems.
An object of the present invention is to provide a color conversion device and a color conversion method for performing color-conversion wherein independent adjustment is performed not only for six hues of red, blue, green, yellow, cyan and magenta but also six inter-hue areas of red-yellow, yellow-green, green-cyan, cyan-blue, blue-magenta and magenta-red, and a conversion characteristic can be flexibly changed, and a good conversion can be achieved without being influenced by the non-linearity of the input image data, and no large-capacity memories are necessary.
According to a first aspect of the invention, there is provided a color conversion device for performing pixel-by-pixel color conversion from a first set of three color data representing red, green and blue, or cyan, magenta and yellow, into a second set of three color data representing red, green and blue, or cyan, magenta, and yellow, said device comprising:
gray scale conversion means for converting the gray scale of said first set of three color data to produce a third set of three color data representing red, green and blue, or cyan, magenta, and yellow;
first calculation means for calculating a minimum value xcex1 and a maximum value xcex2 of said third set of three color data for each pixel;
hue data calculating means for calculating hue data r, g, b, y, m and c based on said third set of three color data, and said minimum and maximum values xcex1 and xcex2 outputted from said calculating means;
means for generating first comparison-result data based on the hue data outputted from said hue data calculating means;
means for generating second comparison-result data based on said first comparison-result data;
second calculation means for performing calculation using the hue data outputted from said hue data calculating means to produce calculation result data;
coefficient generating means for generating specified matrix coefficients for the hue data, the calculation result data, the first comparison-result data and the second comparison-result data; and
third calculation means responsive to said hue data, said first comparison-result data, said second comparison-result data, said calculation result data, and the coefficients from said coefficient generating means for calculating said second set of three color data, said third calculation means performing calculation including matrix calculation performed at least on said hue data, said first comparison-result data, said second comparison-result data, said calculation result data, and the coefficients from said coefficient generating means.
Since the third set of three color data is obtained by gray scale conversion of the first set of three color data, the third set are of the same combination of colors as the first set. That is, if the first set comprises red, green and blue, the third set also comprises red, green and blue. If the first set comprises cyan, magenta and yellow, the third set also comprises cyan, magenta and yellow.
With the above arrangement, it is possible to independently vary not only the colors of the six hues of red, blue, green, yellow, cyan and magenta, but also the colors in the six inter-hue areas of red-yellow, yellow-green, green-cyan, cyan-blue, blue-magenta, and magenta-red, without being influenced by the non-linearity of the input signals. Accordingly, it is possible to obtain color conversion methods or color conversion devices which can change the conversion characteristics flexibly, without requiring a large-capacity memory.
It is noted that the gray scale conversion means can be realized by a one-dimensional-look-up table, and its size is much smaller than the three-dimensional look-up table.
Moreover, because the second comparison-result data calculated from the first comparison-result data are used as calculation term relating to the inter-hue areas in the matrix calculation, the number of calculation steps required can be reduced than if they are calculated from the hue data r, g, b, y, m, c.
It may be so configured that
said third calculation means performs said matrix calculation on said hue data, said first comparison-result data, said second comparison-result data, said calculation result data, and the coefficients from said coefficient generating means, and further includes synthesizing means for adding said minimum value xcex1 from said first calculation means to the results of said matrix calculation.
It may be so configured that
said coefficient generating means generates predetermined matrix coefficients Eij (i=1 to 3, j=1 to 3), and Fij (i=1 to 3, j=1 to 18), and
said third calculation means performs the calculation using the hue data, said said first comparison-result data, said second comparison-result data, said calculation result data, said minimum value xcex1 from said calculating means, and said matrix coefficients to determine the third set of three color data representing red, green and blue, denoted by Ro, Go and Bo, in accordance with the following formula (1):                               [                                                    Ro                                                                    Go                                                                    Bo                                              ]                =                                            (              Eij              )                        ⁡                          [                                                                    r                                                                                        g                                                                                        b                                                              ]                                +                                    (              Fij              )                        ⁡                          [                                                                                          c                      *                      m                                                                                                                                  m                      *                      y                                                                                                                                  y                      *                      c                                                                                                                                  r                      *                      g                                                                                                                                  g                      *                      b                                                                                                                                  b                      *                      r                                                                                                            h1r                                                                                        h1g                                                                                        h1b                                                                                        h1c                                                                                        h1m                                                                                        h1y                                                                                        h2ry                                                                                        h2rm                                                                                        h2gy                                                                                        h2gc                                                                                        h2bm                                                                                        h2bc                                                              ]                                +                      [                                                            α                                                                              α                                                                              α                                                      ]                                              (        1        )            
wherein h1r, h1g, h1b, h1c, h1m and h1y denote said first comparison-result data, and h2ry, h2rm, h2gy, h2gc, h2bm and h2bc denote said second comparison result data.
It may be so configured that
said coefficient generating means generates predetermined matrix coefficients Eij (i=1 to 3, j=1 to 3), and Fij (i=1 to 3, j=1 to 18), and
said third calculation means performs the calculation using the hue data, said said first comparison-result data, said second comparison-result data, said calculation result data, said minimum value xcex1 from said calculating means, and said matrix coefficients to determine the third set of three color data representing cyan, magenta and yellow denoted by Co, Mo and Yo, in accordance with the following formula (2):                               [                                                    Co                                                                    Mo                                                                    Yo                                              ]                =                                            (              Eij              )                        ⁡                          [                                                                    c                                                                                        m                                                                                        y                                                              ]                                +                                    (              Fij              )                        ⁡                          [                                                                                          c                      *                      m                                                                                                                                  m                      *                      y                                                                                                                                  y                      *                      c                                                                                                                                  r                      *                      g                                                                                                                                  g                      *                      b                                                                                                                                  b                      *                      r                                                                                                            h1r                                                                                        h1g                                                                                        h1b                                                                                        h1c                                                                                        h1m                                                                                        h1y                                                                                        h2ry                                                                                        h2rm                                                                                        h2gy                                                                                        h2gc                                                                                        h2bm                                                                                        h2bc                                                              ]                                +                      [                                                            α                                                                              α                                                                              α                                                      ]                                              (        2        )            
wherein h1r, h1g, h1b, h1c, h1m and h1y denote said first comparison-result data, and h2ry, h2rm, h2gy, h2gc, h2bm and h2bc denote said second comparison result data.
It may be so configured that said third calculation means performs said matrix calculation on said hue data, said first comparison-result data, said second comparison-result data, said calculation result data, the coefficients from said coefficient generating means, and said minimum value xcex1 from said first calculation means.
It may be so configured that
said coefficient generating means generates predetermined matrix coefficients Eij (i=1 to 3, j=1 to 3), and Fij (i=1 to 3, j=1 to 19), and
said third calculation means performs the calculation using the hue data, said said first comparison-result data, said second comparison-result data, said calculation result data, said minimum value xcex1 from said calculating means, and said matrix coefficients to determine the third set of three color data representing red, green and blue, denoted by Ro, Go and Bo, in accordance with the following formula (3):                               [                                                    Ro                                                                    Go                                                                    Bo                                              ]                =                                            (              Eij              )                        ⁡                          [                                                                    r                                                                                        g                                                                                        b                                                              ]                                +                                    (              Fij              )                        ⁡                          [                                                                                          c                      *                      m                                                                                                                                  m                      *                      y                                                                                                                                  y                      *                      c                                                                                                                                  r                      *                      g                                                                                                                                  g                      *                      b                                                                                                                                  b                      *                      r                                                                                                            h1r                                                                                        h1g                                                                                        h1b                                                                                        h1c                                                                                        h1m                                                                                        h1y                                                                                        h2ry                                                                                        h2rm                                                                                        h2gy                                                                                        h2gc                                                                                        h2bm                                                                                        h2bc                                                                                        α                                                              ]                                                          (        3        )            
wherein h1r, h1g, h1b, h1c, h1m and h1y denote said first comparison-result data, and h2ry, h2rm, h2gy, h2gc, h2bm and h2bc denote said second comparison result data.
It may be so configured that
said coefficient generating means generates predetermined matrix coefficients Eij (i=1 to 3, j=1 to 3), and Fij (i=1 to 3, j=1 to 19), and
said third calculation means performs the calculation using the hue data, said said first comparison-result data, said second comparison-result data, said calculation result data, said minimum value xcex1 from said calculating means, and said matrix coefficients to determine the third set of three color data representing cyan, magenta and yellow denoted by Co, Mo and Yo, in accordance with the following formula (4):                               [                                                    Co                                                                    Mo                                                                    Yo                                              ]                =                                            (              Eij              )                        ⁡                          [                                                                    c                                                                                        m                                                                                        y                                                              ]                                +                                    (              Fij              )                        ⁡                          [                                                                                          c                      *                      m                                                                                                                                  m                      *                      y                                                                                                                                  y                      *                      c                                                                                                                                  r                      *                      g                                                                                                                                  g                      *                      b                                                                                                                                  b                      *                      r                                                                                                            h1r                                                                                        h1g                                                                                        h1b                                                                                        h1c                                                                                        h1m                                                                                        h1y                                                                                        h2ry                                                                                        h2rm                                                                                        h2gy                                                                                        h2gc                                                                                        h2bm                                                                                        h2bc                                                                                        α                                                              ]                                                          (        4        )            
wherein h1r, h1g, h1b, h1c, h1m and h1y denote said first comparison-result data, and h2ry, h2rm, h2gy, h2gc, h2bm and h2bc denote said second comparison result data.
It may be so configured that
said third set of three color data represent red, green and blue,
said second set of three color data represent red, green and blue, and
said hue data calculation means calculates the hue data r, g, b, y, m, c by subtraction in-accordance with:
r=Rixe2x88x92xcex1,
g=Gixe2x88x92xcex1,
b=Bixe2x88x92xcex1,
y=xcex2xe2x88x92Bi,
m=xcex2xe2x88x92Gi, and
c=xcex2xe2x88x92Ri,
wherein Ri, Gi and Bi represent said third set of three color data.
It may be so configured that
said third set of three color data represent cyan, magenta and yellow,
said second set of three color data represent red, green and blue,
said device further comprises means for determining complement of said third set of three color data, and
said hue data calculation means calculates the hue data r, g, b, y, m, c by subtraction in accordance with:
r=Rixe2x88x92xcex1,
g=Gixe2x88x92xcex1,
b=Bixe2x88x92xcex1,
y=xcex2xe2x88x92Bi,
m=xcex2xe2x88x92Gi, and
c=xcex2xe2x88x92Ri,
wherein Ri, Gi and Bi represent data produced by the determination of the complement of said third set of three color data.
It may be so configured that
said third set of three color data represent cyan, magenta and yellow,
said second set of three color data represent cyan, magenta and yellow, and
said hue data calculation means calculates the hue data r, g, b, y, m, c by subtraction in accordance with:
r=xcex2xe2x88x92Ci,
g=xcex2xe2x88x92Mi,
b=xcex2xe2x88x92Yi,
y=Yixe2x88x92xcex1,
m=Mixe2x88x92xcex1, and
c=Cixe2x88x92xcex1,
wherein Ci, Mi and Yi represent said third set of three color data.
It may be so configured that
said third set of three color data represent red, green and blue,
said second set of three color data represent cyan, magenta and yellow,
said device further comprises means for determining complement of said third set of three color data, and
said hue data calculation means calculates the hue data r, g, b, y, m, c by subtraction in accordance with:
r=xcex2xe2x88x92Ci,
g=xcex2xe2x88x92Mi,
b=xcex2xe2x88x92Yi,
y=Yixe2x88x92xcex1,
m=Mixe2x88x92xcex1, and
c=Cixe2x88x92xcex1,
wherein Ci, Mi and Yi represent data produced by the determination of the complement of said third set of three color data.
With the above arrangement, the hue data calculating means can be configured of means for performing subtraction based on the input image of red, green and blue, or cyan, magenta and yellow and the maximum value xcex2 and minimum value xcex1 from the first calculation means.
It may be so configured that
said first comparison-result data generating means determines the comparison-result data among the hue data r, g and b, and the comparison-result data among the hue data y, m and c, and
said second comparison-result data generating means comprises multiplying means for multiplying the first comparison-result data outputted from said first comparison-result data generating means with specific calculation coefficients, and means for determining the comparison-result data based on the outputs of said multiplication means.
With the above arrangement, the first comparison-result data generating means and the second comparison-result data generating means are configured of means for performing comparison, and means for performing multiplication.
It may be so configured that
said first comparison-result data generating means determines the first comparison-result data:
h1r=min (m, y),
h1g=min (y, c),
h1b=min (c, m),
h1c=min (g, b),
h1m=min (b, r), and
h1y=min (r, g),
(with min (A, B) representing the minimum value of A and B), and
said second comparison-result data generating means determines the second comparison-result data:
h2ry=min (aq1*h1y, ap1*h1r),
h2rm=min (aq2*h1m, ap2*h1r),
h2gy=min (aq3*h1y, ap3*h1g),
h2gc=min (aq4*h1c, ap4*h1g),
h2bm=min (aq5*h1m, ap5*h1b), and
h2bc=min (aq6*h1c, ap6*h1m).
With the above arrangement, the first comparison-result data generating means can be configured of means for performing minimum value selection, and the second comparison-result data can be configured of means for performing multiplication and means for performing minimum value selection.
It may be so configured that said multiplying means in said second comparison-result data generating means performs calculation on said first comparison result-data and said calculation coefficients by setting said calculation coefficients aq1 to aq6 and ap1 to ap6 to integral values of 2n, with n being an integer, and by bit shifting.
With the above arrangement, the multiplication can be carried out by means of bit shifting.
It may be so configured that said second calculation means determines products of the hue data.
With the above arrangement, said second calculation means can be configured of means for performing multiplication.
It may be so configured that each of said first comparison-result data is determined from two of the hue data and is effective for only one of the six hues of red, green, blue, cyan, magenta and yellow.
With the above arrangement, each of the six hues can be adjusted by varying the coefficients for the first comparison-result data without influencing other hues.
It may be so configured that
each of said second comparison-result data is determined from two of the first comparison-result data and is effective for only one of the six inter-hue areas of red-yellow, yellow-green, green-cyan, cyan-blue, blue-magenta, and magenta-red.
With the above arrangement, each of the six inter-hue areas can be adjusted by varying the coefficients for the second comparison-result data without influencing other inter-hue areas.
It may be so configured that
said coefficient generating means generates specified matrix coefficients Eij (i=1 to 3, j=1 to 3) based on a formula (5) below:                               (          Eij          )                =                  [                                                    1                                            0                                            0                                                                    0                                            1                                            0                                                                    0                                            0                                            1                                              ]                                    (        5        )            
xe2x80x83and generates the matrix coefficients Fij (i=1 to 3, j=1 to 18, or j=1 to 19) such that, of the coefficients Fij, the coefficients for said calculation result data are set to zero, and other coefficients are set to specified values.
With the above arrangement, it is not necessary to calculate the product terms for which the coefficients are zero, and yet it is possible to linearly adjust only the target hue or inter-hue area (among the six hues of red, blue, green, yellow, cyan and magenta, and the six inter-hue areas) without influencing other hues or inter-hue areas.
It may be so configured that
said first calculation means calculates a maximum value xcex2 and a minimum value xcex1 using said third set of three color data, and generates an identification code indicating the hue data which is of a value zero, and
said second calculation means performs arithmetic operation on said hue data based on the identification code outputted from said first calculation means,
said coefficient generating means generates said matrix coefficients based on the identification code outputted from said first calculation means, and
said third calculation means performs matrix calculation using the coefficient from said coefficient generating means to produce the second set of three color data based on the identification code outputted from said first calculation means.
With the above arrangement, the number of steps for performing the matrix calculation can be reduced.
According to another aspect of the invention, there is provided a color conversion method of performing pixel-by-pixel color conversion from a first set of three color data representing red, green and blue, or cyan, magenta and yellow, into a second set of three color data representing red, green and blue, or cyan, magenta, and yellow, said method comprising the steps of:
(a) converting the gray scale of the first set of three color data to produce a third set of three color data representing red, green and blue, or cyan, magenta and yellow;
(b) calculating a minimum value xcex1 and a maximum value xcex2 of said third set of three color data for each pixel;
(c) calculating hue data r, g, b, y, m and c based on said third set of three color data, and said minimum and maximum values xcex1 and xcex2 obtained at said step (b);
(d) generating first comparison-result data based on the hue data obtained at said step (c);
(e) generating second comparison-result data based on said first comparison-result data;
(f) performing calculation using the hue data obtained at said step (c) to produce calculation result data;
(g) generating specified matrix coefficients for the hue data, the calculation result data, the first comparison-result data and the second comparison-result data; and
(h) calculating, responsive to said hue data, said first comparison-result data, said second comparison-result data, said calculation result data, and the coefficients generated at said step (g), said second set of three color data;
said step (h) comprising the step of performing matrix calculation on at least said hue data, said first comparison-result data, said second comparison-result data, said calculation result data, and the coefficients obtained at said step (g).
Said step (h) may comprise the steps of:
(h1) performing said matrix calculation on said hue data, said first comparison-result data, said second comparison-result data, said calculation result data, and the coefficients obtained at said step (g), and
(h2) adding said minimum value xcex1 calculated at said step (b) to the results of said matrix calculation.
Said step (h) may alternatively comprise the step of performing said matrix calculation on said hue data, said first comparison-result data, said second comparison-result data, said calculation result data, the coefficients obtained at said step (g), and said minimum value xcex1 obtained at said step (b).